// Control.h
 
// Kontrolny interfejs

#ifndef CONTROL_H
#define CONTROL_H

#include "Common/Interfaces/Interface.h"
#include "Common/Module.h"

// Konstanty pre prioritu registracie
#define LOW_PRIORITY	10
#define MED_PRIORITY	5
#define HIGH_PRIORITY	2

// Kontrolny interfejs pre registrovanie ostatnych modulov
class ControlInterface : public Interface
{
public:
	// Konstruktor
	ControlInterface() : Interface("Kontrolny interfejs", "v0.02")
	{
	
	}
	// Destruktor
	virtual ~ControlInterface()
	{

	}
	// METODY

	// Zastavi tento modul
	virtual void ShutDown() = 0;
	// Zaregistruje novy modul
	virtual int RegisterModule(Module* pModule, int nTask, int nPriority = LOW_PRIORITY) = 0;
	// Vrati modul
	virtual Module* GetModule(int nTask) const = 0;
};

#endif	// CONTROL_H
